package com.zhiwen.service;

import java.util.List;
import java.util.Map;

/**
 * 用户行为分析服务接口
 */
public interface UserAnalyticsService {
    
    /**
     * 获取用户活跃度排行
     *
     * @param limit 返回数量
     * @return 用户活跃度排行列表
     */
    List<Map<String, Object>> getActivityRanking(int limit);
    
    /**
     * 检测异常行为
     *
     * @param days 检测的天数
     * @return 异常行为列表
     */
    List<Map<String, Object>> detectAbnormalBehavior(int days);
    
    /**
     * 记录用户行为
     *
     * @param userId 用户ID
     * @param actionType 行为类型
     * @param actionDetail 行为详情
     * @return 是否记录成功
     */
    boolean recordUserAction(Long userId, String actionType, Map<String, Object> actionDetail);
    
    /**
     * 获取用户行为历史
     *
     * @param userId 用户ID
     * @param days 查询的天数
     * @return 用户行为历史
     */
    List<Map<String, Object>> getUserActionHistory(Long userId, int days);
    
    /**
     * 计算用户活跃度
     *
     * @param userId 用户ID
     * @return 活跃度得分
     */
    int calculateUserActivity(Long userId);
} 